//
// Created by seeed on 25-8-14.
//

#ifndef LED_H
#define LED_H

#include <Arduino.h>

// LED模式枚举
typedef enum {
    LED_MODE_DIGITAL,  // 数字IO模式（高低电平）
    LED_MODE_PWM       // PWM模式（可调亮度）
} LED_Mode;

// Led类声明
class Led {
private:
    uint8_t led_pin;
    LED_Mode mode;

public:
    explicit Led(uint8_t led_Pin, LED_Mode mode = LED_MODE_DIGITAL);
    
    // 关闭LED灯
    void off() const;
    
    // 打开LED灯
    void on() const;
    
    // 翻转LED灯状态
    void toggle() const;
    
    // 设置LED亮度（0-255）
    void setBrightness(uint8_t brightness) const;
    
    // LED呼吸灯效果
    void breathe() const;
};

#endif